www.gusucode.com > LTE基带收发仿真系统matlab源码程序 > LTE baseband simulation/write_result.m

    function write_result(input,outfile,index)
% 将结果保存成16进制'.dat'文件

%  Author:		程式小组(徐萌 张妙 张晓庆)
%  Date:		2010-06-20
%  ==========================================================

if index == 0
    % 输入二进制符号指示
    
    fid = fopen(outfile,'w');
    [row, col] = size(input);
    Len = floor(col/32);
    for r =1:row
        tempData = input(r,:);
        for k = 1:Len
            sum = 0;
            temp = tempData((k-1)*32+1:k*32);
            for i = 1:32
                sum = sum+temp(i)*2^(32-i);
            end
            Reault = dec2hex(sum,8);
            fprintf(fid,'%s',Reault);
            fprintf(fid,'\n');
        end
        lastN =  mod(col,32);
        if lastN ~=0
            sum = 0;
            lastData = tempData(end-lastN+1:end);
            for i = 1:lastN
                sum = sum+lastData(i)*2^(lastN-i);
            end
            Reault = dec2hex(sum,lastN/4);
            fprintf(fid,'%s',Reault);
        end
        
        if lastN~=0&&row~=0
            fprintf(fid,'\n');
            fprintf(fid,'\n');
        end
    end
    fclose (fid);
    
elseif index == 1
    % 输入复数指示
    
    %=======================一行存放一个调制符号=====================%
    in = fopen(outfile,'w');      % 将调制后的结果存放在outfile中
    k = 1;
    len = length(input);
    while k<=len
        if imag(input(k))>0
            fprintf(in,'%6.4f+%6.4fi\n',real(input(k)),imag(input(k)));
        else
            fprintf(in,'%6.4f%6.4fi\n',real(input(k)),imag(input(k)));
        end
        k = k+1;
    end
    fclose(in);
end